package com.ruoyi.moon.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 公司管理对象 moon_company
 * 
 * @author admin
 * @date 2024-11-05
 */
public class MoonCompany extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 公司表 主键 */
    private Long id;

    /** 用户表  外键 */
    private Long userId;

    /** 公司简介 */
    @Excel(name = "公司简介")
    private String content;

    /** 公司图片 */
    @Excel(name = "公司图片")
    private String imgUrl;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @NotBlank(message = "请输出公司名称")
    private String companName;

    /** 公司曾用名 */
    @Excel(name = "公司曾用名")
    private String bcompanyName;

    /** 公司评分 */
    @Excel(name = "公司评分")
    private Double companyRating;

    /** 吐槽详情 */
    @Excel(name = "吐槽详情")
    private String detailedDescription;

    /** 城市id */
    private Long cityId;

    /** 城市 */
    @Excel(name = "城市")
    private String city;

    /** 省份 */
    @Excel(name = "省份")
    private String province;

    /** 省份id */
    private Long provinceId;

    /** 详情描述 */
    private String teaseDetails;

    /** 曾任职位 */
    private  String youWork;

    /** 工资发放情况   1:按时发放, 2:拖延发放, 3:欠薪 */
    @Excel(name = "工资发放情况   1:按时发放, 2:拖延发放, 3:欠薪")
    @NotBlank(message = "请选择工资发放情况")
    private String wage;

    /** 社保情况：1:按时上, 2:不按时上 */
    @Excel(name = "社保情况：1:按时上, 2:不按时上")
    @NotBlank(message = "请选择社保情况")
    private String socialSecurity;

    /** 公积金情况:1:有, 2:无 */
    @Excel(name = "公积金情况:1:有, 2:无")
    @NotBlank(message = "请选择公积金情况")
    private String reserveFund;

    /** 工作休息制度：1:双休, 2:单休, 3:大小周（一周双休，一周单休）,4:休一天半 */
    @Excel(name = "工作休息制度：1:双休, 2:单休, 3:大小周", readConverterExp = "一=周双休，一周单休")
    @NotBlank(message = "请选择工作休息制度")
    private String weekendsClosed;

    /** 加班情况:1:根据项目加班, 2:经常强制加班, 3:不加班 */
    @Excel(name = "加班情况:1:根据项目加班, 2:经常强制加班, 3:不加班")
    @NotBlank(message = "请选择加班情况")
    private String overtimesSituation;

    private List<MoonReviews>  moonReviewsList;

    private int reviewsCount;

    private int visits;

    public int getVisits() {
        return visits;
    }

    public void setVisits(int visits) {
        this.visits = visits;
    }

    public int getReviewsCount() {
        return reviewsCount;
    }

    public void setReviewsCount(int reviewsCount) {
        this.reviewsCount = reviewsCount;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setImgUrl(String imgUrl) 
    {
        this.imgUrl = imgUrl;
    }

    public String getImgUrl() 
    {
        return imgUrl;
    }
    public void setCompanName(String companName) 
    {
        this.companName = companName;
    }

    public String getCompanName() 
    {
        return companName;
    }
    public void setBcompanyName(String bcompanyName) 
    {
        this.bcompanyName = bcompanyName;
    }

    public String getBcompanyName() 
    {
        return bcompanyName;
    }

    public Double getCompanyRating() {
        return companyRating;
    }

    public void setCompanyRating(Double companyRating) {
        this.companyRating = companyRating;
    }

    public void setDetailedDescription(String detailedDescription)
    {
        this.detailedDescription = detailedDescription;
    }

    public String getDetailedDescription() 
    {
        return detailedDescription;
    }
    public void setCityId(Long cityId) 
    {
        this.cityId = cityId;
    }

    public Long getCityId() 
    {
        return cityId;
    }
    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }
    public void setProvince(String province) 
    {
        this.province = province;
    }

    public String getProvince() 
    {
        return province;
    }
    public void setProvinceId(Long provinceId) 
    {
        this.provinceId = provinceId;
    }

    public Long getProvinceId() 
    {
        return provinceId;
    }

    public String getWage() {
        return wage;
    }

    public void setWage(String wage) {
        this.wage = wage;
    }

    public String getSocialSecurity() {
        return socialSecurity;
    }

    public void setSocialSecurity(String socialSecurity) {
        this.socialSecurity = socialSecurity;
    }

    public String getReserveFund() {
        return reserveFund;
    }

    public void setReserveFund(String reserveFund) {
        this.reserveFund = reserveFund;
    }

    public String getWeekendsClosed() {
        return weekendsClosed;
    }

    public void setWeekendsClosed(String weekendsClosed) {
        this.weekendsClosed = weekendsClosed;
    }

    public String getOvertimesSituation() {
        return overtimesSituation;
    }

    public void setOvertimesSituation(String overtimesSituation) {
        this.overtimesSituation = overtimesSituation;
    }

    public String getTeaseDetails() {
        return teaseDetails;
    }

    public void setTeaseDetails(String teaseDetails) {
        this.teaseDetails = teaseDetails;
    }

    public List<MoonReviews> getMoonReviewsList() {
        return moonReviewsList;
    }

    public void setMoonReviewsList(List<MoonReviews> moonReviewsList) {
        this.moonReviewsList = moonReviewsList;
    }

    public String getYouWork() {
        return youWork;
    }

    public void setYouWork(String youWork) {
        this.youWork = youWork;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("content", getContent())
            .append("imgUrl", getImgUrl())
            .append("companName", getCompanName())
            .append("bcompanyName", getBcompanyName())
            .append("companyRating", getCompanyRating())
            .append("detailedDescription", getDetailedDescription())
            .append("createTime", getCreateTime())
            .append("cityId", getCityId())
            .append("city", getCity())
            .append("province", getProvince())
            .append("provinceId", getProvinceId())
                .append("wage", getWage())
                .append("socialSecurity", getSocialSecurity())
                .append("reserveFund", getReserveFund())
                .append("weekendsClosed", getWeekendsClosed())
                .append("overtimesSituation", getOvertimesSituation())
                .append("teaseDetails", getTeaseDetails())
                .append("moonReviewsList", getMoonReviewsList())
                .append("youWork",getYouWork())

            .toString();
    }
}
